#define _CRT_SECURE_NO_WARNINGS 1

#define OFFSETOF(type,name) (int)&(((type*)0)->name)

#define SWAP(n) n=(((n&0xaaaaaaaa)>>1)) + (((n&0x55555555)<<1))